package com.thp.strategy.examplePro;

public class Player {

	private Double totalMount = 0D;  // 客户消费的总金额
	private Double amount = 0D;      // 客户单次消费的金额
	private CalPrice calPrice = new Originc();  // 每个客户都有一个计算价格的策略,初识价格都是按照原价计算的
	
	// 客户购买,就会累计增加总金额
	public void buy(Double amount) {
		this.amount = amount;
		totalMount += amount;
		/* 变化点,我们将策略的制定转转移给了策略工厂,将这部分责任分离出去  */
		calPrice = CalPriceFactory.createPrice(this);
	}
	
	// 计算客户此次购买需要花费的钱
	public Double calLastAmount() {
		return calPrice.calPrice(amount);
	}

	public Double getTotalMount() {
		return totalMount;
	}

}
